package com.daniel.oop.demo05;

/**
 * 继承
 * 在java中所有的类都默认直接或者间接继承object类
 *
 * @author Daniel
 * @version V1.0
 * @date 2020/5/12 15:03
 */
public class Person {

	public int money = 10_000_000;

	protected String name = "daniel";

	public Person() {
		System.out.println("Person无参执行了");
	}

	public void say() {
		System.out.println("说了一句话");
	}

	public void print() {
		System.out.println("Person");
	}
}
/*
super注意点：
	1、super调用父类的构造方法，必须在构造方法的第一个
	2、super必须只能出现在子类的方法和构造方法中
	3、super和this不能同时调用构造方法
this注意点：
	代表的对象不同
		this：本身调用者这个对象
		super：代表父类对象的应用
	前提：
		this：没有继承也可以使用
		super：只能在继承条件才可以使用
	构造方法：
		this：本类的构造
		super：父类的构造


重写：需要有继承关系，子类重写父类的方法：
	1、方法名必须相同
	2、参数列表必须相同
	3、修饰符：范围可以扩大但不能缩小 public>protected>default>private
	4、抛出的异常：范围，可以被缩小，但不能扩大 ClassNotFoundException -> Exception

	重写，子类的方法和父类必须一致，方法体不同
为什么重写：
	1、父类的功能，子类不一定需要，或者不一定满足
	alt+insert：override
 */
